package com.xique.door.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xique.door.bean.domain.ElevatorReport;
import com.xique.door.bean.vo.elevator.ElevatorRunDataStatisticVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author shd
 * @create 2021/10/12 13:47
 */
@Repository
public interface ElevatorReportMapper extends BaseMapper<ElevatorReport> {

    /**
     * 查询电梯运行统计
     *
     * @param id 电梯运行统计ID
     * @return 电梯运行统计
     */
    public ElevatorReport selectElevatorReportById(Long id);

    /**
     * 查询电梯运行统计
     *
     * @param elvId 电梯运行统计ID
     * @return 电梯运行统计
     */
    ElevatorReport selectElevatorReportByElvId(Long elvId);

    /**
     * 查询电梯运行统计列表
     *
     * @param elevatorReport 电梯运行统计
     * @return 电梯运行统计集合
     */
    public List<ElevatorReport> selectElevatorReportList(ElevatorReport elevatorReport);

    /**
     * 根据电梯ID查询电梯运行统计列表
     * @author shd
     * @date 2021/10/21 13:43
     * @param parkId
     * @return java.util.List<com.jzy.oms.community.elevator.bean.domain.ElevatorReport>
     */
    List<ElevatorReport> selectElevatorReportListByParkId(Long parkId);

    /**
     * 根据地区统计运行数据
     * @author shd
     * @date 2021/10/25 14:25
     * @param code
     * @return com.jzy.oms.community.elevator.bean.vo.ElevatorRunDataStatisticVO
     */
    ElevatorRunDataStatisticVO selectElevatorRunDataByAddressCode(Long code);

    /**
     * 新增电梯运行统计
     *
     * @param elevatorReport 电梯运行统计
     * @return 结果
     */
    public int oneInsertElevatorReport(ElevatorReport elevatorReport);

    /**
     * 修改电梯运行统计
     *
     * @param elevatorReport 电梯运行统计
     * @return 结果
     */
    public int oneUpdateElevatorReport(ElevatorReport elevatorReport);

    /**
     * 删除电梯运行统计
     *
     * @param id 电梯运行统计ID
     * @return 结果
     */
    public int deleteElevatorReportById(Long id);

    /**
     * 批量删除电梯运行统计
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteElevatorReportByIds(String[] ids);
}
